/**
 * Cesium 配置管理 (vue-cesium版本)
 */

export const cesiumConfig = {
  // Cesium Ion Access Token - 更新为最新的Token
  accessToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3MzczYmRiMC00ZWY2LTQ0Y2UtYTNhZC0wMDM5OTJiMDJhNmIiLCJpZCI6MzM4MTg1LCJpYXQiOjE3NTY5NjUxMjF9.sIVS2rFZdXMPzbEA53z1qAaMkDkHXgZtW2T1IdiOMpQ",
  
  // 默认视角配置（唐山地区）
  defaultView: {
    longitude: 118.175393,
    latitude: 39.635113,
    height: 10000,
    heading: 0.0,
    pitch: -45.0,
    roll: 0.0
  },
  
  // 3D Tiles 配置
  tilesConfig: {
    maximumScreenSpaceError: 32, // 降低精度要求，减少加载错误
    debugShowBoundingVolume: false,
    debugShowContentBoundingVolume: false,
    skipLevelOfDetail: true,
    baseScreenSpaceError: 2048, // 增大基础误差
    skipScreenSpaceErrorFactor: 32, // 增大跳过因子
    skipLevels: 2, // 跳过更多级别
    immediatelyLoadDesiredLevelOfDetail: true,
    loadSiblings: false,
    cullWithChildrenBounds: true,
    // 禁用一些可能导致问题的特性
    enableCollision: false,
    enableShowOutline: false,
    enableDebugWireframe: false
  },
  
  // Viewer 默认配置
  viewerOptions: {
    baseLayerPicker: false,
    geocoder: false,
    homeButton: true,
    sceneModePicker: false,
    navigationHelpButton: false,
    animation: false,
    timeline: false,
    fullscreenButton: true,
    vrButton: false,
    scene3DOnly: true,
    shouldAnimate: false
  }
}

/**
 * 初始化 Cesium Ion Token (vue-cesium版本)
 */
export const initCesiumToken = (Cesium: any) => {
  if (Cesium && Cesium.Ion) {
    Cesium.Ion.defaultAccessToken = cesiumConfig.accessToken
  }
}